// serialConfigObj 创建串口配置对象参数
const serialConfigObj = {
    baudRate: "9600",// 波特率
    serialCom: "/dev/ttyS2",// 串口端口
    lastIndexString: "",//末尾设置为空
    convertTen: 1// 转十进制：1-否
}


/**
 * initSerialConfig 串口配置初始化
 */
function initSerialConfig() {
    var serialConfig = serialLocalStorage.get("serialConfig");

    // 判断缓存数据是否有串口配置
    if (serialConfig !== '' && serialConfig != null) {
        // 串口配置初始化
        serialCommand.init(serialConfig)
        // 查看串口配置初始化日志
        console.log("服务端串口初始化(本地有缓存)：" + JSON.stringify(serialConfigObj))

    } else {
        // 存储到本地缓存
        serialLocalStorage.put("serialConfig", serialConfigObj);
        // 串口配置初始化
        serialCommand.init(serialConfigObj)
        // 查看串口配置初始化日志
        console.log("服务端串口初始化(本地没有缓存)：" + JSON.stringify(serialConfigObj))
    }

    // 更新串口配置数据
    updateSerialConfig()
}

/**
 * 更新串口配置-默认2s
 */
function updateSerialConfig(timeout = 2000) {
    setTimeout(function () {
        serialCommand.config()
    }, timeout)
}

// 每秒进行初始化检测
setTimeout(initSerialConfig, 1000)

// 温度对象
const temperatureObject = {
    "front_cabin_temperature": 50,
    "rear_cabin_temperature": 50,
    "rock_temperature": 50,
}

/**
 * temperatureSwitchObject 温度开关
 * @type {{front_cabin_temperature_switch: boolean, rear_cabin_temperature_switch: boolean, rock_temperature_switch: boolean}}
 */
const settingSwitchObject = {
    "push_rod_switch": false,
    "front_cabin_temperature_switch": true,
    "rear_cabin_temperature_switch": false,
    "rock_temperature_switch": false,
    "uvc_switch": false,
    "negative_ion_switch": false,
}

// 回调函数
setTimeout(function () {
    // 初始化温度
    initTemperature(temperatureObject);
    // 初始化开关配置
    initSettingSwitch(settingSwitchObject);
}, 1000);

function updateClock() {
    const now = new Date(); // 获取当前时间
    const year = now.getFullYear(); // 获取年份
    const month = String(now.getMonth() + 1).padStart(2, '0'); // 获取月份，+1因为getMonth()返回0-11
    const day = String(now.getDate()).padStart(2, '0'); // 获取日期
    const hours = String(now.getHours()).padStart(2, '0'); // 获取小时
    const minutes = String(now.getMinutes()).padStart(2, '0'); // 获取分钟
    const seconds = String(now.getSeconds()).padStart(2, '0'); // 获取秒

    // 格式化时间显示，例如：2024-06-14 14:05:09
    const timeString = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
    console.log("当前时间"+timeString)
    // 获取页面上的 clock div 元素并更新其内容
    // document.getElementById('text_2').Inner = timeString;


}
